package main

import (
	// "fmt"
	_ "shudao-chat-go/routers"

	// "shudao-chat-go/tests"

	"shudao-chat-go/models"

	beego "github.com/beego/beego/v2/server/web"
	"github.com/beego/beego/v2/server/web/filter/cors"
)

func main() {
	// 启用JSON body解析 - Beego v2的配置方式
	beego.BConfig.CopyRequestBody = true

	// // 转换template_1.json为PPTX
	// if err := tests.ConvertTemplate1ToPPTX(); err != nil {
	// 	fmt.Printf("PPT转换失败: %v\n", err)
	// }

	// // 智能转换：根据大纲内容匹配模板并填充
	// fmt.Println("\n=== 开始智能转换 ===")
	// if err := tests.ConvertToSmartPresentation(); err != nil {
	// 	fmt.Printf("智能转换失败: %v\n", err)
	// }

	//解决跨域问题
	beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
		AllowOrigins:     []string{"*"},
		AllowMethods:     []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
		AllowHeaders:     []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type", "token"},
		ExposeHeaders:    []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
		AllowCredentials: true,
	}))

	//迁移total中所有表
	// models.DB.AutoMigrate(&models.AIConversation{})
	// 设置静态文件路径
	beego.SetStaticPath("/assets", "assets")
	beego.SetStaticPath("/static", "static")
	beego.SetStaticPath("/src", "assets") // 将/src路径映射到assets目录

	// 启动心跳任务
	models.StartHeartbeatTask()

	// 批量匹配图片（取消注释下面的行来运行）
	// fmt.Println("开始批量匹配图片...")
	// controllers.BatchMatchImages()

	// 批量上传图片（取消注释下面的行来运行）
	// fmt.Println("开始批量上传图片...")
	// controllers.BatchUploadImages()

	// 批量上传文件（取消注释下面的行来运行）
	// fmt.Println("开始批量上传文件...")
	// controllers.BatchUploadFilesToOSS()

	// 启动服务器
	beego.Run()
}
